Два наиболее распространенных методов представления кривых и поверхностей в геометрическом моделировании - неявные уравнения и параметрические функции.
Неявное уравнение кривой, лежащей в плоскости xy, имеет вид f(x,y)=0. Это уравнение описывает неявную зависимость между x и y координатами точек, лежащих на кривой. Для данной кривой уравнения уникальны с точностью до мультипликативной константы. Примером может служить круг единичного радиуса с центром в начале координат, определяется уравнением f(x,y)=x2+y2-1=0.
Рисунок 1.1. Круг с радиусом 1 и центром в начле координат
В параметрической форме, каждая из координат точки на кривой представлена отдельно, в виде явной функции независимого параметра
C(u)=(x(u),y(u)) a≤u≤b
Таким образом, C(u) является вектор-функцией независимой переменной, u. Хотя отрезок [a,b] - произволен, но, как правило, нормированный на [0,1]. Первый квадрант круга, показанного на Рисунке 1.1, определяется параметрическими функциями
x(u)=cos(u)
y(u)=sin(u) 0≤u≤π2 (1.1)
Установив t=tan(u2), можно получить альтернативное представление
x(t)=1-t21+t2
y(t)=2t1+t2 0≤t≤1 (1.2)
Таким образом, параметрическое представление кривой не уникально
Полезно думать о C(u)=(x(u),y(u)) как о пути, проходимый частицей со временем; где [a,b] изменение времени, и [a,b] временной интервал. Первая и вторая производная от C(u), соответствует скорости и ускорению частицы, соответственно. Дифференцируя формулы (1.1) и (1.2), получим функции скорости
C′(u)=(x′(u),y′(u))=(-sin(u),cos(u))
C′(t)=(x′(t),y′(t))=(-4t(1+t2)2,2(1-t2)(1+t2)2)
Обратите внимание, что величина вектора скорости, C′(u), является постоянной
|C′(u)|=√sin2(u)+cos2(u)=1
т. е. направление частицы меняется со временем, но её скорость постоянна. Это упоминается как форма параметризации. Подставляя t=0 и t=1 в C′(t) дает C′(0)=(0,2) и C′(1)=(-1,0), то есть, стартовая скорость частицы это удвоенная конечная скорость.
Рисунок 1.2. Вектора скорости C′(u) и C′(t) при u,t=0 и 1
Поверхность определяется неявным уравнением вида f(x,y,z)=0. Например, возьмём сферу единичного радиуса с центром в нуле, как показано на рисунке 1.3 и заданной уравнением x2+y2+z2-1=0. Параметрическое представление (не единственное) для той же сферы дается S(u,v)=(x(u,v),y(u,v),z(u,v)), где
x(u,v)=sin(u)cos(v)
y(u,v)=sin(u)sin(v)
z(u,v)=cos(u) 0≤u≤π,0≤v≤2π (1.3)
Обратите внимание, что для определения поверхности требуются два параметра. Устанавливая u неизменной и меняя v создаём широтные линии сферы; устанавливая v неизменной и меняя u создаём продольные линии сферы.
Рисунок 1.3. Сфера с радиусом 1 и центром в начле координат
Обозначим частные производные S(u,v) как Su(u,v)=(xu(u,v),yu(u,v), zu(u,v)) и Sv(u,v)=(xv(u,v),yv(u,v),zv(u,v)), то есть, скорости вдоль широтных и продольных линий. В любой точке на поверхности, где векторное произведение Su×Sv не исчезает, единичный вектор нормали, N, имеет вид (Рисунок 1.4).
N=Su×Sv|Su×Sv| (1.4)
Существование нормального вектора в точке, и соответствующей касательной плоскости, является геометрическим свойством поверхности независимо от параметризации. Различные параметризации дают разные частные производные, но уравнение (1.4) всегда дает N при условии, что знаменатель не обращается в нуль. Из уравнения рисунке 1.3 видно, что для всех v, 0≤v≤2π, Sv(0,v)=Sv(π,v)=0, то есть, Sv обращается в нуль у Северного и Южного полюсов сферы. Очевидно, что нормальные векторы существуют и в двух полюсах, но эти параметрические уравнения (1.4) не могут быть использована для их вычисления.
Рисунок 1.4. Частная производная и единичные нормальные векторы S(u,v)
Для неявной и параметрической форм, трудно утверждать, что одна всегда более подходящая, чем другая. Обе имеют свои преимущества и недостатки. Успешное геометрическое моделирование делается с помощью обоих методов. Сравним эти два метода следующим образом:
Мы сконцентрировались, в основном, на параметрической форме, в остальной части книги. Подробнее о неявных и параметрических формах можно найти в стандартных текстах ([Faux81; Mort85; Hoff89; Beac91]).